HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/www/html/api.aianced.com/app/Http/Controllers/Api/LeadController.php
<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Http\Requests\LeadRequest;
use App\Models\Lead;
use App\Services\MakeWebhookService;

class LeadController extends Controller
{
    public function __construct(private MakeWebhookService $webhook) {}

    /**
     * POST /api/v1/leads
     *
     * Stores the lead and fires a Make.com webhook notification.
     */
    public function store(LeadRequest $request): \Illuminate\Http\JsonResponse
    {
        $data = $request->validated();

        $lead = Lead::create([
            'name'       => $data['name'],
            'email'      => $data['email'],
            'phone'      => $data['phone'] ?? null,
            'idea_text'  => $data['ideaText'],
            'summary'    => $data['summary'] ?? null,
            'ip_address' => $request->ip(),
            'user_agent' => $request->userAgent(),
        ]);

        // Fire webhook — failure is logged but never breaks the response
        $this->webhook->sendLead($lead);

        return response()->json([
            'success' => true,
            'message' => 'Blueprint request received. We will be in touch within 24 hours.',
        ], 201);
    }
}